Skip to content

Conversation

andygolay
Copy link
Contributor

@andygolay andygolay commented Jun 26, 2025

Summary

Changelog

Testing

Outstanding issues

  • Currently getting a diesel dependency version mismatch error preventing compilation:
    ... required by package `processor v0.1.0 (https://github.com/aptos-labs/aptos-indexer-processors-v2?tag=aptos-indexer-processors-v2.1.4#768c3433)`
    ... which satisfies git dependency `processor` of package `movement-indexer-v2 v0.1.0 (/Users/andygmove/Downloads/repos/movement/networks/movement/indexer-v2)`
versions that meet the requirements `=2.2.0` are: 2.2.0

all possible versions conflict with previously selected packages.

  previously selected package `diesel v2.2.7`
    ... which satisfies dependency `diesel = "^2.2.3"` (locked to 2.2.7) of package `aptos-indexer v0.0.1 (https://github.com/movementlabsxyz/aptos-core?rev=1d1cdbbd7fabb80dcb95ba5e23213faa072fab67#1d1cdbbd)`
    ... which satisfies git dependency `aptos-indexer` (locked to 0.0.1) of package `latest-aptos-framework-migration v0.3.4 (/Users/andygmove/Downloads/repos/movement/protocol-units/execution/maptos/framework/releases/latest)`

failed to select a version for `diesel` which could resolve this conflict

@andygolay andygolay changed the title chore: initial commit feat: implement indexer processors v2 Jun 26, 2025
@andygolay
Copy link
Contributor Author

andygolay commented Jun 30, 2025

I've made an attempt to switch out the old indexer processors for v2; it compiles but when I run it with just movement-full-node native build.setup.indexer --keep-tui I get duplicate key value errors. Here are the full logs:

thread 'tokio-runtime-worker' panicked at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processor-sdk-fbcf846f4b123c78/6eb78b8/aptos-indexer-processors-sdk/sdk/src/postgres/utils/database.rs:231:10:
[Parser] Migrations failed!: DatabaseError(UniqueViolation, "duplicate key value violates unique constraint \"pg_type_typname_nsp_index\"")
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

thread 'tokio-runtime-worker' panicked at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processor-sdk-fbcf846f4b123c78/6eb78b8/aptos-indexer-processors-sdk/sdk/src/postgres/utils/database.rs:231:10:
[Parser] Migrations failed!: DatabaseError(UniqueViolation, "duplicate key value violates unique constraint \"pg_type_typname_nsp_index\"")

thread 'tokio-runtime-worker' panicked at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processor-sdk-fbcf846f4b123c78/6eb78b8/aptos-indexer-processors-sdk/sdk/src/postgres/utils/database.rs:231:10:
[Parser] Migrations failed!: DatabaseError(UniqueViolation, "duplicate key value violates unique constraint \"pg_type_typname_nsp_index\"")

thread 'tokio-runtime-worker' panicked at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processor-sdk-fbcf846f4b123c78/6eb78b8/aptos-indexer-processors-sdk/sdk/src/postgres/utils/database.rs:231:10:
[Parser] Migrations failed!: DatabaseError(UniqueViolation, "duplicate key value violates unique constraint \"pg_type_typname_nsp_index\"")

thread 'tokio-runtime-worker' panicked at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processor-sdk-fbcf846f4b123c78/6eb78b8/aptos-indexer-processors-sdk/sdk/src/postgres/utils/database.rs:231:10:
[Parser] Migrations failed!: DatabaseError(UniqueViolation, "duplicate key value violates unique constraint \"pg_type_typname_nsp_index\"")

thread 'tokio-runtime-worker' panicked at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processor-sdk-fbcf846f4b123c78/6eb78b8/aptos-indexer-processors-sdk/sdk/src/postgres/utils/database.rs:231:10:
[Parser] Migrations failed!: DatabaseError(UniqueViolation, "duplicate key value violates unique constraint \"pg_type_typname_nsp_index\"")

thread 'tokio-runtime-worker' panicked at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processor-sdk-fbcf846f4b123c78/6eb78b8/aptos-indexer-processors-sdk/sdk/src/postgres/utils/database.rs:231:10:
[Parser] Migrations failed!: DatabaseError(UniqueViolation, "duplicate key value violates unique constraint \"pg_type_typname_nsp_index\"")

thread 'tokio-runtime-worker' panicked at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processor-sdk-fbcf846f4b123c78/6eb78b8/aptos-indexer-processors-sdk/sdk/src/postgres/utils/database.rs:231:10:
[Parser] Migrations failed!: DatabaseError(UniqueViolation, "duplicate key value violates unique constraint \"pg_type_typname_nsp_index\"")

thread 'tokio-runtime-worker' panicked at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processor-sdk-fbcf846f4b123c78/6eb78b8/aptos-indexer-processors-sdk/sdk/src/postgres/utils/database.rs:231:10:
[Parser] Migrations failed!: DatabaseError(UniqueViolation, "duplicate key value violates unique constraint \"pg_type_typname_nsp_index\"")
2025-06-30T10:04:06.391691Z ERROR movement_indexer_service: Task join error: JoinError::Panic(Id(19), "[Parser] Migrations failed!: DatabaseError(UniqueViolation, \"duplicate key value violates unique constraint \\\"pg_type_typname_nsp_index\\\"\")", ...)
2025-06-30T10:04:06.391813Z ERROR movement_indexer_service: Task join error: JoinError::Panic(Id(17), "[Parser] Migrations failed!: DatabaseError(UniqueViolation, \"duplicate key value violates unique constraint \\\"pg_type_typname_nsp_index\\\"\")", ...)
2025-06-30T10:04:06.391824Z ERROR movement_indexer_service: Task join error: JoinError::Panic(Id(18), "[Parser] Migrations failed!: DatabaseError(UniqueViolation, \"duplicate key value violates unique constraint \\\"pg_type_typname_nsp_index\\\"\")", ...)
2025-06-30T10:04:06.391832Z ERROR movement_indexer_service: Task join error: JoinError::Panic(Id(14), "[Parser] Migrations failed!: DatabaseError(UniqueViolation, \"duplicate key value violates unique constraint \\\"pg_type_typname_nsp_index\\\"\")", ...)
2025-06-30T10:04:06.391841Z ERROR movement_indexer_service: Task join error: JoinError::Panic(Id(16), "[Parser] Migrations failed!: DatabaseError(UniqueViolation, \"duplicate key value violates unique constraint \\\"pg_type_typname_nsp_index\\\"\")", ...)
2025-06-30T10:04:06.391851Z ERROR movement_indexer_service: Task join error: JoinError::Panic(Id(20), "[Parser] Migrations failed!: DatabaseError(UniqueViolation, \"duplicate key value violates unique constraint \\\"pg_type_typname_nsp_index\\\"\")", ...)
2025-06-30T10:04:06.391858Z ERROR movement_indexer_service: Task join error: JoinError::Panic(Id(21), "[Parser] Migrations failed!: DatabaseError(UniqueViolation, \"duplicate key value violates unique constraint \\\"pg_type_typname_nsp_index\\\"\")", ...)
2025-06-30T10:04:06.391866Z ERROR movement_indexer_service: Task join error: JoinError::Panic(Id(15), "[Parser] Migrations failed!: DatabaseError(UniqueViolation, \"duplicate key value violates unique constraint \\\"pg_type_typname_nsp_index\\\"\")", ...)
2025-06-30T10:04:06.391874Z ERROR movement_indexer_service: Task join error: JoinError::Panic(Id(22), "[Parser] Migrations failed!: DatabaseError(UniqueViolation, \"duplicate key value violates unique constraint \\\"pg_type_typname_nsp_index\\\"\")", ...)
Error: readiness check fail - exit status 7

I checked and it doesn't seem like the database is already running... so I'm not sure why there would be duplicate key values.

Tip

I think it may be because each processor is trying to run a migration... so maybe what I need to do is run a migration once and then run the processors.

@andygolay
Copy link
Contributor Author

Now that I seem to have perhaps resolved the migrate-indexer step (which completes successfully as long as I manually send at least one transaction to the local movement-full-node after migrate-indexer starts), the indexer process fails with called Option::unwrap()on aNone value.

Stack backtrace with RUST_BACKTRACE=1:

thread 'tokio-runtime-worker' panicked at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processors-v2-6c6bb463a73d9788/7fb086b/processor/src/processors/default/models/table_items.rs:43:61:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0: rust_begin_unwind
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:692:5
   1: core::panicking::panic_fmt
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panicking.rs:75:14
   2: core::panicking::panic
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panicking.rs:145:5
   3: core::option::unwrap_failed
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/option.rs:2015:5
   4: core::option::Option<T>::unwrap
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/option.rs:978:21
   5: processor::processors::default::models::table_items::TableItem::from_write_table_item
             at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processors-v2-6c6bb463a73d9788/7fb086b/processor/src/processors/default/models/table_items.rs:43:30
   6: processor::processors::default::process_transactions
             at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processors-v2-6c6bb463a73d9788/7fb086b/processor/src/processors/default/mod.rs:106:37
   7: <processor::processors::default::default_extractor::DefaultExtractor as aptos_indexer_processor_sdk::traits::processable::Processable>::process::{{closure}}
             at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processors-v2-6c6bb463a73d9788/7fb086b/processor/src/processors/default/default_extractor.rs:54:13
   8: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/future/future.rs:124:9
   9: <aptos_indexer_processor_sdk::traits::async_step::RunnableAsyncStep<Step> as aptos_indexer_processor_sdk::traits::runnable_step::RunnableStep<<Step as aptos_indexer_processor_sdk::traits::processable::Processable>::Input,<Step as aptos_indexer_processor_sdk::traits::processable::Processable>::Output>>::spawn::{{closure}}
             at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processor-sdk-fbcf846f4b123c78/6eb78b8/aptos-indexer-processors-sdk/sdk/src/traits/async_step.rs:103:82
  10: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.41/src/instrument.rs:321:9
  11: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/core.rs:331:17
  12: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/loom/std/unsafe_cell.rs:16:9
  13: tokio::runtime::task::core::Core<T,S>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/core.rs:320:13
  14: tokio::runtime::task::harness::poll_future::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:532:19
  15: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panic/unwind_safe.rs:272:9
  16: std::panicking::try::do_call
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:584:40
  17: ___rust_try
  18: std::panicking::try
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:547:19
  19: std::panic::catch_unwind
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panic.rs:358:14
  20: tokio::runtime::task::harness::poll_future
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:520:18
  21: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:209:27
  22: tokio::runtime::task::harness::Harness<T,S>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:154:15
  23: tokio::runtime::task::raw::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/raw.rs:271:5
  24: tokio::runtime::task::raw::RawTask::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/raw.rs:201:18
  25: tokio::runtime::task::LocalNotified<S>::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/mod.rs:463:9
  26: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:674:17
  27: tokio::task::coop::with_budget
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:167:5
  28: tokio::task::coop::budget
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:133:5
  29: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:594:9
  30: tokio::runtime::scheduler::multi_thread::worker::Context::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:542:24
  31: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:507:21
  32: tokio::runtime::context::scoped::Scoped<T>::set
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/scoped.rs:40:9
  33: tokio::runtime::context::set_scheduler::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:26
  34: std::thread::local::LocalKey<T>::try_with
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/thread/local.rs:308:12
  35: std::thread::local::LocalKey<T>::with
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/thread/local.rs:272:9
  36: tokio::runtime::context::set_scheduler
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:9
  37: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:502:9
  38: tokio::runtime::context::runtime::enter_runtime
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/runtime.rs:65:16
  39: tokio::runtime::scheduler::multi_thread::worker::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:494:5
  40: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:460:45
  41: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/blocking/task.rs:42:21
  42: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.41/src/instrument.rs:321:9
  43: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/core.rs:331:17
  44: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/loom/std/unsafe_cell.rs:16:9
  45: tokio::runtime::task::core::Core<T,S>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/core.rs:320:13
  46: tokio::runtime::task::harness::poll_future::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:532:19
  47: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panic/unwind_safe.rs:272:9
  48: std::panicking::try::do_call
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:584:40
  49: ___rust_try
  50: std::panicking::try
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:547:19
  51: std::panic::catch_unwind
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panic.rs:358:14
  52: tokio::runtime::task::harness::poll_future
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:520:18
  53: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:209:27
  54: tokio::runtime::task::harness::Harness<T,S>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:154:15
  55: tokio::runtime::task::raw::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/raw.rs:271:5
  56: tokio::runtime::task::raw::RawTask::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/raw.rs:201:18
  57: tokio::runtime::task::UnownedTask<S>::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/mod.rs:500:9
  58: tokio::runtime::blocking::pool::Task::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/blocking/pool.rs:161:9
  59: tokio::runtime::blocking::pool::Inner::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/blocking/pool.rs:511:17
  60: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/blocking/pool.rs:469:13
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

thread 'tokio-runtime-worker' panicked at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processors-v2-6c6bb463a73d9788/7fb086b/processor/src/processors/default/models/table_items.rs:43:61:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0: rust_begin_unwind
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:692:5
   1: core::panicking::panic_fmt
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panicking.rs:75:14
   2: core::panicking::panic
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panicking.rs:145:5
   3: core::option::unwrap_failed
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/option.rs:2015:5
   4: core::option::Option<T>::unwrap
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/option.rs:978:21
   5: processor::processors::default::models::table_items::TableItem::from_write_table_item
             at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processors-v2-6c6bb463a73d9788/7fb086b/processor/src/processors/default/models/table_items.rs:43:30
   6: processor::processors::default::process_transactions
             at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processors-v2-6c6bb463a73d9788/7fb086b/processor/src/processors/default/mod.rs:106:37
   7: <processor::processors::default::default_extractor::DefaultExtractor as aptos_indexer_processor_sdk::traits::processable::Processable>::process::{{closure}}
             at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processors-v2-6c6bb463a73d9788/7fb086b/processor/src/processors/default/default_extractor.rs:54:13
   8: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/future/future.rs:124:9
   9: <aptos_indexer_processor_sdk::traits::async_step::RunnableAsyncStep<Step> as aptos_indexer_processor_sdk::traits::runnable_step::RunnableStep<<Step as aptos_indexer_processor_sdk::traits::processable::Processable>::Input,<Step as aptos_indexer_processor_sdk::traits::processable::Processable>::Output>>::spawn::{{closure}}
             at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processor-sdk-fbcf846f4b123c78/6eb78b8/aptos-indexer-processors-sdk/sdk/src/traits/async_step.rs:103:82
  10: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.41/src/instrument.rs:321:9
  11: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/core.rs:331:17
  12: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/loom/std/unsafe_cell.rs:16:9
  13: tokio::runtime::task::core::Core<T,S>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/core.rs:320:13
  14: tokio::runtime::task::harness::poll_future::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:532:19
  15: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panic/unwind_safe.rs:272:9
  16: std::panicking::try::do_call
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:584:40
  17: ___rust_try
  18: std::panicking::try
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:547:19
  19: std::panic::catch_unwind
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panic.rs:358:14
  20: tokio::runtime::task::harness::poll_future
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:520:18
  21: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:209:27
  22: tokio::runtime::task::harness::Harness<T,S>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:154:15
  23: tokio::runtime::task::raw::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/raw.rs:271:5
  24: tokio::runtime::task::raw::RawTask::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/raw.rs:201:18
  25: tokio::runtime::task::LocalNotified<S>::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/mod.rs:463:9
  26: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:674:17
  27: tokio::task::coop::with_budget
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:167:5
  28: tokio::task::coop::budget
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:133:5
  29: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:594:9
  30: tokio::runtime::scheduler::multi_thread::worker::Context::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:542:24
  31: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:507:21
  32: tokio::runtime::context::scoped::Scoped<T>::set
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/scoped.rs:40:9
  33: tokio::runtime::context::set_scheduler::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:26
  34: std::thread::local::LocalKey<T>::try_with
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/thread/local.rs:308:12
  35: std::thread::local::LocalKey<T>::with
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/thread/local.rs:272:9
  36: tokio::runtime::context::set_scheduler
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:9
  37: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:502:9
  38: tokio::runtime::context::runtime::enter_runtime
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/runtime.rs:65:16
  39: tokio::runtime::scheduler::multi_thread::worker::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:494:5
  40: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:460:45
  41: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/blocking/task.rs:42:21
  42: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.41/src/instrument.rs:321:9
  43: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/core.rs:331:17
  44: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/loom/std/unsafe_cell.rs:16:9
  45: tokio::runtime::task::core::Core<T,S>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/core.rs:320:13
  46: tokio::runtime::task::harness::poll_future::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:532:19
  47: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panic/unwind_safe.rs:272:9
  48: std::panicking::try::do_call
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:584:40
  49: ___rust_try
  50: std::panicking::try
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:547:19
  51: std::panic::catch_unwind
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panic.rs:358:14
  52: tokio::runtime::task::harness::poll_future
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:520:18
  53: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:209:27
  54: tokio::runtime::task::harness::Harness<T,S>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:154:15
  55: tokio::runtime::task::raw::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/raw.rs:271:5
  56: tokio::runtime::task::raw::RawTask::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/raw.rs:201:18
  57: tokio::runtime::task::UnownedTask<S>::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/mod.rs:500:9
  58: tokio::runtime::blocking::pool::Task::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/blocking/pool.rs:161:9
  59: tokio::runtime::blocking::pool::Inner::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/blocking/pool.rs:511:17
  60: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/blocking/pool.rs:469:13
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

thread 'tokio-runtime-worker' panicked at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processors-v2-6c6bb463a73d9788/7fb086b/processor/src/processors/token_v2/token_v2_models/v2_collections.rs:211:56:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0: rust_begin_unwind
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:692:5
   1: core::panicking::panic_fmt
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panicking.rs:75:14
   2: core::panicking::panic
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panicking.rs:145:5
   3: core::option::unwrap_failed
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/option.rs:2015:5
   4: core::option::Option<T>::unwrap
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/option.rs:978:21
   5: processor::processors::token_v2::token_v2_models::v2_collections::CollectionV2::get_v1_from_write_table_item::{{closure}}
             at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processors-v2-6c6bb463a73d9788/7fb086b/processor/src/processors/token_v2/token_v2_models/v2_collections.rs:211:31
   6: processor::processors::token_v2::token_v2_processor_helpers::parse_v2_token::{{closure}}
             at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processors-v2-6c6bb463a73d9788/7fb086b/processor/src/processors/token_v2/token_v2_processor_helpers.rs:291:30
   7: <processor::processors::token_v2::token_v2_extractor::TokenV2Extractor as aptos_indexer_processor_sdk::traits::processable::Processable>::process::{{closure}}
             at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processors-v2-6c6bb463a73d9788/7fb086b/processor/src/processors/token_v2/token_v2_extractor.rs:114:10
   8: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/future/future.rs:124:9
   9: <aptos_indexer_processor_sdk::traits::async_step::RunnableAsyncStep<Step> as aptos_indexer_processor_sdk::traits::runnable_step::RunnableStep<<Step as aptos_indexer_processor_sdk::traits::processable::Processable>::Input,<Step as aptos_indexer_processor_sdk::traits::processable::Processable>::Output>>::spawn::{{closure}}
             at /Users/andygmove/.cargo/git/checkouts/aptos-indexer-processor-sdk-fbcf846f4b123c78/6eb78b8/aptos-indexer-processors-sdk/sdk/src/traits/async_step.rs:103:82
  10: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.41/src/instrument.rs:321:9
  11: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/core.rs:331:17
  12: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/loom/std/unsafe_cell.rs:16:9
  13: tokio::runtime::task::core::Core<T,S>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/core.rs:320:13
  14: tokio::runtime::task::harness::poll_future::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:532:19
  15: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panic/unwind_safe.rs:272:9
  16: std::panicking::try::do_call
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:584:40
  17: ___rust_try
  18: std::panicking::try
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:547:19
  19: std::panic::catch_unwind
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panic.rs:358:14
  20: tokio::runtime::task::harness::poll_future
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:520:18
  21: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:209:27
  22: tokio::runtime::task::harness::Harness<T,S>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:154:15
  23: tokio::runtime::task::raw::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/raw.rs:271:5
  24: tokio::runtime::task::raw::RawTask::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/raw.rs:201:18
  25: tokio::runtime::task::LocalNotified<S>::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/mod.rs:463:9
  26: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:674:17
  27: tokio::task::coop::with_budget
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:167:5
  28: tokio::task::coop::budget
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:133:5
  29: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:594:9
  30: tokio::runtime::scheduler::multi_thread::worker::Context::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:554:24
  31: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:507:21
  32: tokio::runtime::context::scoped::Scoped<T>::set
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/scoped.rs:40:9
  33: tokio::runtime::context::set_scheduler::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:26
  34: std::thread::local::LocalKey<T>::try_with
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/thread/local.rs:308:12
  35: std::thread::local::LocalKey<T>::with
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/thread/local.rs:272:9
  36: tokio::runtime::context::set_scheduler
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:9
  37: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:502:9
  38: tokio::runtime::context::runtime::enter_runtime
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/runtime.rs:65:16
  39: tokio::runtime::scheduler::multi_thread::worker::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:494:5
  40: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/multi_thread/worker.rs:460:45
  41: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/blocking/task.rs:42:21
  42: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.41/src/instrument.rs:321:9
  43: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/core.rs:331:17
  44: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/loom/std/unsafe_cell.rs:16:9
  45: tokio::runtime::task::core::Core<T,S>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/core.rs:320:13
  46: tokio::runtime::task::harness::poll_future::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:532:19
  47: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/core/src/panic/unwind_safe.rs:272:9
  48: std::panicking::try::do_call
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:584:40
  49: ___rust_try
  50: std::panicking::try
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panicking.rs:547:19
  51: std::panic::catch_unwind
             at /rustc/4eb161250e340c8f48f66e2b929ef4a5bed7c181/library/std/src/panic.rs:358:14
  52: tokio::runtime::task::harness::poll_future
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:520:18
  53: tokio::runtime::task::harness::Harness<T,S>::poll_inner
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:209:27
  54: tokio::runtime::task::harness::Harness<T,S>::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/harness.rs:154:15
  55: tokio::runtime::task::raw::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/raw.rs:271:5
  56: tokio::runtime::task::raw::RawTask::poll
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/raw.rs:201:18
  57: tokio::runtime::task::UnownedTask<S>::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/task/mod.rs:500:9
  58: tokio::runtime::blocking::pool::Task::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/blocking/pool.rs:161:9
  59: tokio::runtime::blocking::pool::Inner::run
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/blocking/pool.rs:511:17
  60: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
             at /Users/andygmove/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/blocking/pool.rs:469:13
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
2025-07-02T15:27:44.155251Z ERROR aptos_indexer_processor_sdk::traits::pollable_async_step: Error sending output to channel step_name="TransactionStreamStep" error="send to a half closed channel"
2025-07-02T15:27:44.160229Z ERROR aptos_indexer_processor_sdk::traits::pollable_async_step: Error sending output to channel step_name="TransactionStreamStep" error="send to a half closed channel"
2025-07-02T15:27:44.196119Z ERROR aptos_indexer_processor_sdk::traits::pollable_async_step: Error sending output to channel step_name="TransactionStreamStep" error="send to a half closed channel"
Error: readiness check fail - exit status 7

@musitdev
Copy link
Contributor

musitdev commented Jul 3, 2025

I think it's because we don't execute the consensus, our Tx misses some data, for example, the WriteSet. Can you look at the code where there is None to see which data is missing?
In the V1 I've changed the indexer code to allow empty WriteSet. For the V2 it's not the goal. We've to keep the same code as the Aptos repo.
I think you should try by starting an Aptos node and load the devnet DB in it to see if it works better. @0xmovses has just opened a PR with local scripts to restore the movement DB. You can use it.

@andygolay
Copy link
Contributor Author

andygolay commented Jul 3, 2025

Can you look at the code where there is None to see which data is missing?

@musitdev the first one is at processor/src/processors/default/models/table_items.rs line 43:

decoded_key: write_table_item.data.as_ref().unwrap().key.clone(),

and there's also processor/src/processors/token_v2/token_v2_models/v2_collections.rs line 211:

let table_item_data = table_item.data.as_ref().unwrap();

Yes I'll try it that way with the devnet DB.

@musitdev
Copy link
Contributor

musitdev commented Jul 3, 2025

Ok, the movement node doesn't set the table_item, that's why I've deactivated them on the indexer v1. For the migration, you can not do that; you need to use an Aptos node that will set the table_item.
So you can not test the indexer v2 on the movement node.
Start an Aptos node, then load a movement db with some tx then you can test the indexer v2.

@andygolay
Copy link
Contributor Author

andygolay commented Jul 4, 2025

Ok, the movement node doesn't set the table_item, that's why I've deactivated them on the indexer v1. For the migration, you can not do that; you need to use an Aptos node that will set the table_item. So you can not test the indexer v2 on the movement node. Start an Aptos node, then load a movement db with some tx then you can test the indexer v2.

@musitdev so I'm starting the Aptos node with aptos node run-localnet and I see this directory structure:
image

But when I run ./docs/movement-node/run-fullnode/scripts/devnet/restic-restore.sh, there closest thing I see to the db dir in .aptos/testnet/0/db, is in maptos/27/.maptos, there is ledger_db and state_merkle_db:

image

Am I supposed to copy and paste those ledger_db and state_merkle_db directories to .aptos/testnet/0/db (after deleting the directories of the same names in .aptos/testnet/0/db), essentially overwriting them?

Cc @areshand @0xmovses as well if you can provide some guidance on this... I'm trying to do what @musitdev mentions: "Start an Aptos node, then load a movement db with some tx then you can test the indexer v2."

@areshand
Copy link

areshand commented Jul 7, 2025

essentially

there has to be a db folder under .maptos. For example, the path has to be .maptos/db/ledger_db and .maptos/db/state_merkle_db. The db_dir you used for the aptos node_config is ..../.maptos (note: don't include in the "db" in path)

@andygolay
Copy link
Contributor Author

Closing this as I've been able to run the V2 processors against aptos-node via these steps: https://www.notion.so/movementlabs/Indexer-migration-22818675b2d780148e5ffab000da3ab4

@andygolay andygolay closed this Jul 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants